export default {
    // 复杂的异步的操作放在actions里面进行,mutations 就是为了改变state里面的状态值,做一些单一的操作
    addproduct(context, payload) {
        // dispatch 发送事件会返回一个promise对象,里面可以用resolve函数回调出一个成功的结果,比如商品数量加一了
        return new Promise((resolve, reject) => {
            let product = context.state.productlist.find(function (item) {
                return item.id === payload.id
            })
            // 已有商品数量加1
            if (product) {
                // product.count += 1
                context.commit('addcounter', product)
                resolve('商品数量加一了')
            } else {
                // 添加了真正的购物车没有的商品
                payload.count = 1
                payload.checked = false
                context.commit('toadd', payload)
                resolve('添加了新的商品')
            }
        })
    },
    // 商品数量加一功能
    add(context, payload) {
        return new Promise((resolve, reject) => {
            let product2 = context.state.productlist.find((ele) => {
                return ele.id == payload;
            });
            context.commit('add1', product2)
            resolve('商品数量加一')
        })
    },
    // 商品数量减一功能
    remove(context, payload) {
        return new Promise((resolve, reject) => {
            let product1 = context.state.productlist.find((ele) => {
                return ele.id == payload;
            });
            context.commit('remove1', product1)
            resolve('商品数量减一')
        })
    },
    // 移除商品功能
    delete(context, payload) {
        return new Promise((resolve, reject) => {
            let pro = context.state.productlist.find((ele) => {
                return ele.id === payload;
            });
            let index = context.state.productlist.indexOf(pro);
            context.commit('delete1', index)
            resolve('商品被移除了')
        })
    }
}


